#ifndef _ABSTRACTIONIMP_H_
#define _ABSTRACTIONIMP_H_

class AbstractionImp
{
public:
	AbstractionImp(){}
	virtual ~AbstractionImp() {}

	virtual void Operator() = 0;
};

class ConcreteImpA : public AbstractionImp
{
public:
	ConcreteImpA();
	~ConcreteImpA();

	void Operator();
};

class ConcreteImpB : public AbstractionImp
{
public:
	ConcreteImpB();
	~ConcreteImpB();

	void Operator();
};

#endif